typedef unsigned int IN_TYPE;
typedef unsigned int TEMP_TYPE;
typedef char CAN_TYPE;

#ifndef OUT_BUFFER_NUM
#define OUT_BUFFER_NUM 200000000
#endif

#ifndef OFFSET_LEN
#define OFFSET_LEN 50000000
#endif

#ifndef PARA_LEN
#define PARA_LEN 1000
#endif

#ifndef END_FLAG
#define END_FLAG 0xffffffff
#endif

#ifndef ADJ_LEN
#define ADJ_LEN 500000000
#endif

#ifndef CAN_LEN
#define CAN_LEN 200000000
#endif

#ifndef CAN2_LEN
#define CAN2_LEN 45000000
#endif

#ifndef INDEX_LEN
#define INDEX_LEN 100000
#endif


#ifndef CAN_LEN_DOU
#define CAN_LEN_DOU 50000000
#endif

#ifndef OUT_LEN
#define OUT_LEN 50000000
#endif

extern "C"{
void kernelone(
		IN_TYPE offset1[OFFSET_LEN],IN_TYPE adj1[ADJ_LEN],
		IN_TYPE offset2[OFFSET_LEN],IN_TYPE adj2[ADJ_LEN],
		IN_TYPE cand1[CAN_LEN],CAN_TYPE cand2[CAN2_LEN],
		IN_TYPE size1,IN_TYPE size2,
		IN_TYPE pid1,
		IN_TYPE out_buf[OUT_LEN],IN_TYPE paras[PARA_LEN]
		);
void kerneltwo(
		IN_TYPE offset1[OFFSET_LEN],IN_TYPE adj1[ADJ_LEN],
		IN_TYPE offset2[OFFSET_LEN],IN_TYPE adj2[ADJ_LEN],
		IN_TYPE offset3[OFFSET_LEN],IN_TYPE adj3[ADJ_LEN],
		IN_TYPE offset4[OFFSET_LEN],IN_TYPE adj4[ADJ_LEN],
		IN_TYPE cand1[CAN_LEN],CAN_TYPE cand2[CAN2_LEN],
		IN_TYPE size1,IN_TYPE size2,
		IN_TYPE pid1,IN_TYPE pid2,
		IN_TYPE out_buf[OUT_LEN]
		);
}
